home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / ekh-cm1.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-06-30  |  2.1 KB  |  66 lines

  1. var name, table1, table2, code, realcode: string; i: integer; ebx, edx, ecx: longint;
  2.  
  3. procedure drawlogo;
  4. begin
  5.   writeln('');
  6.   writeln('   ▄▄▄                                                               ▓▄  ▄  ');
  7.   writeln('  ▀██▓▀        ▓          ▓▄▄ ▄▓▀▀▀ ▀  ▄▄  ▓▄▄▄▄▓           ▓▄▄▄▄▄▓▀▀▀ ▄▄▄  ');
  8.   writeln(' ░  ▄▄▄  ▄▄▓▀▀▀▀ ▀▀▓▄▄ ▓▀▀▀ ▄▄▄▄▄███▌ ▀██▀ ▄▄▄▄ ▀ ▀▓▄▄▓  ▓▀▀▀ ▄▄▄▄▄▄███▓█▌  ');
  9.   writeln('  ▀▓██▌ ▓▀ ▄▄█████▄▄ ▓  ▄█▓████▀▀███ ░ ▄▄▄ ▐██████▄▄▄ ▀▀▓▀▐█████▀▀▀▀████▀   ');
  10.   writeln('   ████ ■ ████▀  ▀███▄ ▓████▄  ░ ▀▀ ▓ ████░ █▓█▌ ▀▀████▄▄  ▓███ ░  ▀▀▀      ');
  11.   writeln('  ■▐███▌ ▐▓██▌░ ▓ ▐███▌ ▀▀██████▄▄▄▄  ▐█▓█▌ █▓█▌ ▄ ░ ▀▀███▄ ███▌ ▄▄▄▄       ');
  12.   writeln('  ▄ ██▓█ ████▌■ ▐▌ █▓██ ▓▄▄▄  ▀▀▀▀███▓▄▀███ ▐███ ▓    ░ ▀██▓▄▀█▌▀▀▀   MtD! ▄');
  13.   writeln('  ▓ ███▓▌▀▓██ ▄  █ ▐▓▓█▌   ▀▀▀▀  ▄▄███▓▌███▌▐█▓█ ▄▄▀▀ ▀ ▄███▓▌█▓  ░         ');
  14.   writeln('  ▐▌▐████ ▀▀▀ ▄  ▓ ▐█▓█▌▐███▄▄███████▓▀ ██▓▌▀▀ ▄▄▄▄▄██████▓▀▀▄██▄▄▄▄▄██▓▓▌ ▀');
  15.   writeln('  █ ▀▀▀ ▄▄▓ ▀▀▓  ▓ ▀▀▀▀ ▓███▀▀▀▀▀ ▄▄▄  ▀▀▀▀ ▀█████▀▀▀▀▀ ▄ ▄ █████▀▀▀▀▀██▓█ █');
  16.   writeln(' ▀▓ ▀▀▀▀▓   ▀   ▀▀ ▀▀▀▓▄▄▄ ▄▄▓▀▀▀▀▓   ▓▀▀▀ ▀  ▀▀█▄ ▀▀▀▀▀▓▀▓▄▄▄ ▄▄▄▓▀▓▄ ▄▄▄▄▓');
  17.   writeln('                                                   ▀                ▀      ▀');
  18.   writeln('             eKH Crackme 1.0 - KeyGenerator by Duelist of iNSiDE99          ');
  19.   writeln;
  20.   writeln;
  21. end;
  22.  
  23. procedure doquit;
  24. begin
  25.   halt(1);
  26. end;
  27.  
  28. begin
  29.   drawlogo;
  30.   write('     Enter your name: ');
  31.   readln(name);
  32.   if length(name) = 0 then
  33.       begin
  34.         writeln('            No name was entered. Aborting!');
  35.         doquit;
  36.         end;
  37.  
  38.   table1:='LANNYDIBANDINGINANAKEKHYANGNGENTOT';
  39.   table2:='LANNY5646521';
  40.  
  41.   for i:=1 to length(name) do
  42.     begin
  43.     ecx:=ord(name[i]);
  44.     edx:=ord(table1[i]);
  45.     ebx:=ebx + ecx;
  46.         ebx:=ebx shl $8;
  47.         ebx:=ebx or edx;
  48.     if ebx < 0 then ebx:=ebx * -1;
  49.        end;
  50.  
  51.   ebx:=ebx xor $12345678;
  52.   str(ebx, code);
  53.  
  54.   for i:=1 to length(code) do
  55.     begin
  56.     ebx:=ord(code[i]);
  57.     ebx:=ebx - $30;
  58.     code[i]:=table2[ebx + 1];
  59.     end;
  60.  
  61.   for i:=1 to length(code) do realcode:=realcode + code[length(code) - i + 1];
  62.  
  63.   writeln('   Registration code: ', realcode);
  64.  
  65.   doquit;
  66. end.